Computer aided engineering (CAE) has been used for supporting engineers in many tasks. For example, in a structure or engineering product design procedure, CAE analysis, particularly finite element analysis (FEA), has often been employed to evaluate simulated responses (e.g., stresses, displacements, etc.) under various simulated loading conditions (e.g., static or dynamic).
FEA is a computerized method widely used in industry to simulate (i.e., model and solve) engineering problems relating to complex products or systems (e.g., cars, airplanes, consumer products, etc.) such as three-dimensional non-linear structural design and analysis. FEA derives its name from the manner in which the geometry of the object under consideration is specified. The geometry is defined by elements and nodal points. There are a number of types of elements, solid elements for volumes or continua, shell or plate elements for surfaces and beam or truss elements for one-dimensional structure objects. The geometry of each element is defined by nodal points, for example, a brick or hexahedral element comprising eight corner nodes.
Generally these elements are deformable under loading. However, in certain application, rigid finite elements or rigid elements are required. Rigid elements are not deformed under any loading condition. Rigid elements can be used for modeling structural components, for example, bolts, discrete particles or rigid bodies. In order to model rigid body, one of the prior art approaches is to create a rigid body type element. All rigid bodies need to be defined with an identifier used for identifying each individual rigid body. For example, if there are two different rigid bodies defined in a finite element analysis model, two unique identifiers must be created such that rigid elements, which are assigned one of the two unique identifiers, are grouped together. For each rigid body, the inertial properties are computed from the geometry of the rigid elements included within the rigid body. While this approach is straightforward for a relatively small number of rigid bodies, it is not feasible when a finite element analysis model contains a large number of rigid bodies (e.g., tens of thousands to millions). It would require a tremendous amount of man hours (i.e., costs) to define the large number of RBs hence not feasible in a production environment.
Many of today's engineering simulations require such capability (i.e., having millions of RBs), for example, simulating millions of particles filling into a container. It would, therefore, be desirable to have methods and systems for defining and creating a large number of rigid bodies efficiently without the complexity of providing a special identifier for every rigid body. Each rigid body can contain an arbitrary number of rigid finite elements that are arranged in an arbitrary shape.